查看原文
其他

根号2的几何作图

Y叔叔 YuLabSMU 2022-09-24

我在《ggplot2作图25招:《R入门25个菜谱》中所有图片的ggplot2版本》一文中介绍了我是怎么学ggplot2的,讲了我当时看到图就问自己,能不能把它画出来,这篇文章就是多年前的博客文,很好地诠释了我的学习历程:刻意练习。

读研时买了很多书,大部分都没时间看,《什么是数学》就是其中的一本,这两天翻看了一点。

《第二章:数学中的数系》讲到了当年的伟大发现,一个正方形的对角线与它的边是不可公度的。而由不可公度线段,引入的无理数概念,引入负数,在17世纪都是个另人不安的事情,无理数是个巨大的飞跃,

73页中的图10,给出了sqrt(2)的几何作图。

我用R尝试把它画出来:

dd <- data.frame(x=c(0,1,1,0), y=c(0,0,1,0))
pp <- ggplot(dd,aes(x,y))
pp <- pp +
    geom_point() + 
    geom_path() +
    xlim(-0.2,1.5) +
    ylim(-0.2,1.5)

xc <- seq(1, sqrt(2)0.001)
yc <- sqrt(2-xc^2)
xc <- c(xc,sqrt(2))
yc <- c(yc,0)
d2 <- data.frame(x = xc, y = yc)

pp <- pp + 
    geom_path(data=d2) + 
    annotate("line"x=c(-0.1,1.5),y=c(0,0)) + 
    geom_point(aes(x=sqrt(2),y=0)) +
    annotate("text",
            x=c(01sqrt(2)), 
            y =c(-0.06, -0.06, -0.06), 
            label=c(01, as.character(expression(sqrt(2)))), 
            parse=TRUE) + 
    xlab("") + 
    ylab("") + 
    theme_bw() 

print(pp)

sqrt(2)的有理数近似值可以通过《Newton-Raphson》法求得。


往期精彩

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存